/* eslint valid-jsdoc: "off" */

/**
 * @param {Egg.EggAppInfo} appInfo app info
 */
var path = require('path'); // 添加这一行
module.exports = (appInfo) => {
  /**
   * built-in config
   * @type {Egg.EggAppConfig}
   **/
  const config = (exports = {
    middleware: ["errorHandler"],
    // 只对以 /api 为前缀的 URL 路径生效
    errorHandler: {
      // 对系统逻辑执行错误进行处理返回
      match: "/api",
    },
  });

  const env = process.env.NODE_ENV || "development";
  const configEnv = require(`./config.${env}.js`);

  // use for cookie sign key, should change to your own and keep security
  config.keys = appInfo.name + "_1709847088256_5981";

  const userConfig = {
    // myAppName: 'egg',
  };
  // 加密
  config.crypto = {
    secret: "_1709847088256_5981", // 不可乱改 ， 否则加密存入 无法解密
  };
  config.jwt = {
    // token 密码
    secret: "214365", // 可以自定义
    sign: {
      //jwt.sign(***,***,[options,***])方法中，options的默认设置可以在这里配置；
      // 过期时间8小时
      expiresIn: 8 * (60 * 60), //多少s后过期。actionToken.js中,jwt.sing(plyload,secret,{expiresIn:number})会被合并，调用时设置优先级更高;
    },
  };

  //内网服务器列表  匹配 ip地址  末位  比如 “192.168.191.1” 匹配 host1
  config.serverList = {
    tts: ["192.168.191.66"], // rog15 rog13 aita
  };

  // 服务器域名
  config.serverDomain = {
    host: "http://43.139.236.50",
  };

  // add your middleware config here

  // add your user config here

  config.redis = {
    client: {
      port: 6379,
      host: "127.0.0.1",
      password: "",
      db: 0,
    },
  };
  // 使用nginx
  // config.httpProxy = {
  //   '/host1': { // rog15
  //     target: 'http://192.168.191.1:8585',
  //     changeOrigin: true,
  //     pathRewrite: { '^/host1': '' },
  //   },
  //   '/host2': { // rog13
  //     target: 'http://192.168.191.2:8585',
  //     changeOrigin: true,
  //     pathRewrite: { '^/host2': '' },
  //   },
  //   '/host3': { // beelink
  //     target: 'http://192.168.191.3:8585',
  //     changeOrigin: true,
  //     pathRewrite: { '^/host3': '' },
  //   },
  //   '/host4': { // aita
  //     target: 'http://192.168.191.66:8585',
  //     changeOrigin: true,
  //     pathRewrite: { '^/host4': '' },
  //   },
  // }

  // 配置csrf的跨域攻击 配置跨域允许的白名单，domainWhiteList里面可以配置你所需要的前端请求链接
  config.security = {
    csrf: {
      enable: false,
    },
    domainWhiteList: ["*"],
  };

  //
  config.qqEmail = {
    service: "qq",
    host: "video_ai@foxmail.com", // QQ邮箱的SMTP地址
    port: 465, // 邮箱的端口号一般都使用465，
    auth: {
      user: "1785135200@qq.com", // 你自己的邮箱的邮箱地址
      pass: "rlvzrtannavxbaba", // 授权码
    },
  };

  // 修改日志级别为 debug
  // 日志配置
  config.logger = {
    level: "INFO", // SILENT, DEBUG, INFO, WARN, ERROR, FATAL
    consoleLevel: "DEBUG",  // 控制台日志输出级别
    // dir: "/logs", // 日志文件的存储目录
    dir: path.join(__dirname, '..', 'logs'),
    type: "dateFile", // 表示按日期记录日志 
    console: true, //  是否在控制台输出日志
    disableConsoleAfterReady: false, // 当应用 ready 之后，是否禁用控制台输出。
    // 其他日志配置项...
  };

  //针对 不同环境多中配置

  config.sequelize = configEnv.sequelize;

  return {
    ...config,
    ...userConfig,
  };
};
